Function CONV_SUB_1D
Package
convolution
Short description
One-dimensional convolution and downsampling.
Usage
y_ds = CONV_SUB_1D(xf, filter, ds)
Input
xf (numeric): The Fourier transform of the signal to be convolved.
filter (*numeric OR struct*): The analysis filter in the frequency
domain. Either Fourier transform of the filter or the output of
OPTIMIZE_FILTER.
ds (int): The downsampling factor as a power of 2 with respect to xf.
Output
y_ds (numeric): the filtered, downsampled signal, in the time domain.
Description
This function is at the foundation of the wavelet transform in 1D. It
performs an element-wise product of a signal and a filter in the
frequency domain, equivalent to a convolution in the time domain.
The filter argument may either be:
* a DFT real vector, or
* an optimized filter structure from OPTIMIZE_FILTER
In the latter case, different methods are used to speed up the calcula-
tion, such as storing the filter at different resolutions or only storing
the Fourier transform coefficients that are non-zero. These are obtained
when defining the filter bank using the filt_opt.filter_format parameter.
See FILTER_BANK for more information.
Multiple signals can be convolved in parallel by specifying them as dif-
ferent columns of xf. If many signals need to be convolved at the same
time, this is often much faster than performing calling CONV_SUB_1D on
each signal separately.
See also
List of all packages